package admin_user_api

import (
	"blog_go/models/res"
	"blog_go/utils"
	"github.com/gin-gonic/gin"
	"github.com/jinzhu/copier"
	"github.com/sirupsen/logrus"
)

type UserInfoTokenReq struct {
	Token string `json:"token" form:"token"`
}

type UserInfoTokenRsp struct {
	NickName string `json:"nick_name"`
	Avatar   string `json:"avatar"` // 头像
	Role     int    `json:"role"`   // 1管理员 2普通用户 3游客
	UserID   uint   `json:"user_id"`
}

func (AdminUserApi) UserInfoToken(c *gin.Context) {
	var req UserInfoTokenReq
	if err := c.ShouldBindQuery(&req); err != nil {
		logrus.Error(err)
		panic(err)
	}
	_claims := c.MustGet(utils.Claims)
	claims := _claims.(*utils.CustomClaims)
	var rsp UserInfoTokenRsp
	copier.Copy(&rsp, claims)
	res.OkWithDate(rsp, c)
}
